package com.qaml.mes.device.vo.eqp;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qaml.mes.device.dto.eqp.CheckUpkeepRecordRecheckRespVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @ClassName CheckUpkeepRecordAppVO
 * @Description 检保单app
 * @Author leikai
 * @Date 2024/3/7 0007 15:11
 * @Version 1.0
 */
@Data
public class CheckUpkeepRecordAppVO implements Serializable {

    private static final long serialVersionUID = 6209152340658443985L;

    @ApiModelProperty(value = "检保记录id")
    private String id;

    /**
     * 检保项目编号
     */
    @ApiModelProperty(value = "检保项目编号")
    private String checkUpkeepId;

    /**
     * 设备id
     */
    @ApiModelProperty(value = "设备id")
    private String eqpId;

    /**
     * 设备编码
     */
    @ApiModelProperty(value = "设备编码")
    private String eqpCode;

    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String eqpName;

    /**
     * 状态
     */
    @ApiModelProperty(value = "状态")
    private String status;

    /**
     * 状态描述
     */
    @ApiModelProperty(value = "状态描述")
    private String statusDesc;

    /**
     * 类型
     */
    @ApiModelProperty(value = "类型")
    private String type;


    /**
     * 线体
     */
    @ApiModelProperty(value = "线体")
    private String lineBody;

    /**
     * 是否有异常 0 无异常 1 有异常
     */
    @ApiModelProperty("异常情况  0 无异常 1 有异常")
    private Integer errResult;

    /**
     * 检保日期
     */
    @ApiModelProperty(value = "检保日期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkUpkeepDate;

    /**
     * 检保开始时间
     */
    @ApiModelProperty(value = "检保开始时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkUpkeepStartTime;

    /**
     * 检保结束时间
     */
    @ApiModelProperty(value = "检保结束时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkUpkeepEndTime;


    /**
     * 检保人id
     */
    @ApiModelProperty(value = "检保人id")
    private String checkUpkeepUserId;

    /**
     * 检保人名称
     */
    @ApiModelProperty(value = "检保人名称")
    private String checkUpkeepUserName;

    /**
     * 检保提交时间
     */
    @ApiModelProperty(value = "检保提交时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkUpkeepCommitDate;

    /**
     * 复核人id
     */
    @ApiModelProperty(value = "复核人id")
    private String recheckUserId;

    /**
     * 复核人名称
     */
    @ApiModelProperty(value = "复核人名称")
    private String recheckUserName;

    /**
     * 复核提交时间
     */
    @ApiModelProperty(value = "复核提交时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date recheckCommitDate;

    /**
     * 归档人id
     */
    @ApiModelProperty(value = "归档人id")
    private String archiveUserId;


    @ApiModelProperty(value = "归档人名称")
    private String archiveUserName;

    /**
     * 归档提交时间
     */
    @ApiModelProperty(value = "归档提交时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date archiveCommitTime;

    /**
     * 点检人列表
     */
    @ApiModelProperty(value = "点检人列表")
    private List<CheckUpkeepUserVO> checkUserList;
    /**
     * 审核人列表
     */
    @ApiModelProperty(value = "审核人列表")
    private List<CheckUpkeepUserVO> recheckUserList;
    /**
     * 归档人列表
     */
    @ApiModelProperty(value = "归档人列表")
    private List<CheckUpkeepUserVO> archiveUserList;

    @ApiModelProperty(value = "检保记录条目")
    private List<CheckUpkeepRecordItemVO> checkUpkeepRecordItemList;
    /**
     * 图片地址
     */
    @ApiModelProperty(value = "图片地址")
    private String imageUrl;

    /**
     * 是否可点检
     */
    @ApiModelProperty(value = "是否可点检")
    private Boolean canCheck = Boolean.FALSE;
    /**
     * 是否可复核
     */
    @ApiModelProperty(value = "是否可复核")
    private Boolean canRecheck = Boolean.FALSE;
    /**
     * 是否可归档
     */
    @ApiModelProperty(value = "是否可归档")
    private Boolean canArchive = Boolean.FALSE;


    private List<CheckUpkeepRecordRecheckRespVO> recheckRespList;
}